package cn.tedu.Innerclass;

import org.junit.jupiter.api.Test;

import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/*本类用于测试匿名内部类*/
public class TestInner5 {
@Test
    public void test(){
    /*匿名内部类，以前我们使用接口，需要先创建接口的实现类
    * 接着接口的实现类需要添加接口中未实现方法并实现
    * 最后需要创建接口实现类的对象调用方法*/
    /*所以相当于创建了接口的实现类+重写接口中的功能+创建对象+调用功能*/
    new Inner() {
        @Override
        public void save() {
            System.out.println("'save   ");
        }

        @Override
        public void get() {
            System.out.println("get     ");
        }
    }.get();
    new Inner2() {
        @Override
        public void drink() {
            System.out.println("一碎方休");
        }
    }.drink();
}
@Test
    public void test1(){

    ExecutorService executorService = Executors.newFixedThreadPool(5);
    for (int i = 0; i < 5; i++) {
executorService.execute(new Runnable() {
    @Override
    public void run() {
        System.out.println("1212"+Thread.currentThread().getName());
    }
});
    }
}
}
//创建接口、
interface Inner{
    void save();
    void get();
}
abstract class Inner2{

    public void play(){
        System.out.println("PLAY");
    }
    public abstract void drink();
}